//用空间换时间
// let nums =[2,7,11,15],target=2;
// var towSum =function(nums,target){
//     for (let i=0;i<nums.length;i++){
//         let item=target-nums[i]
//         //去数组里面找有没有item，有就返回索引
//         //第一种方法：先想想数组存不存在一种方法可以直接对比找出来
//         //第三种方法：自己手搓一个方法
//          let j=nums.indexOf(item)
//          if(j!== -1 && j!==i){
//             return [i,j]
//          }
//     }
// };
// console.log(towSum(nums,target));

//第二种方法：想想有没有别的数据类型有方法可以直接找出来，然后把数组转成该数据类型
let nums = [2, 7, 11, 15], target = 9;
var twoSum = function (nums, target) {
    let diffs = {}
    for (let i = 0; i < nums.length; i++) {
        let item = target - nums[i]
        //去diffs里面找有没有item，有就返回索引
        if (diffs[item] !== undefined) {
            return [diffs[item], i]
        }
        diffs[nums[i]] = i
    }
};
console.log(towSum(nums, target));